home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Franz PD / Franz PD Disk #334 (1994-06)(Rhein-Sieg-Soft).zip / Franz PD Disk #334 (1994-06)(Rhein-Sieg-Soft).adf / tracker.library / tracker.h < prev    next >
C/C++ Source or Header  |  1994-06-11  |  9KB  |  229 lines

  1. #ifndef LIBRARIES_TRACKER_H
  2. #define LIBRARIES_TRACKER_H
  3.  
  4. /*
  5. ** Filename: libraries/tracker.h
  6. ** Revision: 6.8
  7. ** Date: 94/06/11
  8. **
  9. ** Definitions for use when using tracker.library
  10. **
  11. ** (C) Arnold Schommer
  12. **     Erikaweg 16
  13. **     40670 Meerbusch-Strümp, Germany
  14. */
  15.  
  16. #ifndef EXEC_ALERTS_H
  17. #include <exec/alerts.h>
  18. #endif
  19. #ifndef EXEC_TYPES_H
  20. #include <exec/types.h>
  21. #endif
  22. #ifndef GRAPHICS_GFX_H
  23. #include <graphics/gfx.h>    /* wegen PLANEPTR */
  24. #endif
  25. #ifndef DOS_DOS_H
  26. #include <dos/dos.h>        /* wegen BPTR */
  27. #endif
  28. #ifndef UTILITY_TAGITEM_H
  29. #include <utility/tagitem.h>    /* wegen Tag */
  30. #endif
  31.  
  32. /* Prototypes: */
  33.  
  34. struct Library *TRK_OpenLibrary( UBYTE *libName, ULONG version );
  35. struct Library *TRK_OpenStdLibrary( ULONG number, version );
  36. void TRK_CloseLibrary( struct Library *library );
  37. APTR TRK_AllocMem( ULONG byteSize, ULONG requirements );
  38. void TRK_FreeMem( APTR memoryBlock );
  39. BYTE TRK_OpenDevice( UBYTE *devName, ULONG unit,
  40.          struct IORequest *ioRequest, ULONG flags );
  41. void TRK_CloseDevice( struct IORequest *ioRequest );
  42. struct MsgPort *TRK_CreatePort( UBYTE *name, long pri );
  43. void TRK_DeletePort( struct MsgPort *io );
  44. struct IORequest *TRK_CreateExtIO( struct MsgPort *msg, long size );
  45. void TRK_DeleteExtIO( struct IORequest *io );
  46. #define TRK_CreateStdIO(port) \
  47.  ( (struct IOStdReq *)TRK_CreateExtIO(port,sizeof(struct IOStdReq)) )
  48. #define TRK_DeleteStdIO TRK_DeleteExtIO
  49. struct WBStartup *TRK_GetWBMsg(void);
  50. BYTE TRK_AllocSignal( long signalNum );
  51. void TRK_FreeSignal( long signalNum );
  52. BPTR TRK_Open( UBYTE *name, long accessMode );
  53. BPTR TRK_OpenFromLock( BPTR lock );
  54. LONG TRK_Close( BPTR file );
  55. BPTR TRK_Lock( UBYTE *name, long type );
  56. BPTR TRK_DupLock( BPTR lock );
  57. BPTR TRK_DupLockFromFH( BPTR fh );
  58. void TRK_UnLock( BPTR lock );
  59. struct FileInfoBlock *TRK_Examine( BPTR lock );
  60. struct FileInfoBlock *TRK_ExamineFH( BPTR fh );
  61. struct FileInfoBlock *TRK_ExamineName( UBYTE *name );
  62. LONG TRK_ExNext( struct FileInfoBlock *fileInfoBlock );
  63. void TRK_FreeFIB( struct FileInfoBlock *fib );
  64. struct InfoData *TRK_Info( BPTR lock );
  65. struct InfoData *TRK_InfoName( UBYTE *name );
  66. BPTR TRK_LoadSeg( UBYTE *name );
  67. BPTR TRK_NewLoadSeg( UBYTE *file, struct TagItem *tags ),
  68.      TRK_NewLoadSeg( UBYTE *file, Tag tag1, ...);
  69. void TRK_UnLoadSeg( BPTR seglist );
  70. APTR TRK_AllocDosObject( ULONG type, struct TagItem *tags ),
  71.      TRK_AllocDosObjectTags( ULONG type, Tag tag1, ...);
  72. void TRK_FreeDosObject( APTR ptr );
  73. BOOL TRK_StartNotify( struct NotifyRequest *notify );
  74. void TRK_EndNotify( struct NotifyRequest *notify );
  75. struct TextFont *TRK_OpenFont( struct TextAttr *textAttr );
  76. struct TextFont *TRK_OpenDiskFont( struct TextAttr *textAttr );
  77. void TRK_CloseFont( struct TextFont *textFont );
  78. PLANEPTR TRK_AllocRaster( ULONG width, ULONG height );
  79. void TRK_FreeRaster( PLANEPTR p );
  80. WORD TRK_GetSprite( struct SimpleSprite *sprite, long num );
  81. void TRK_FreeSprite( long num );
  82. struct Window *TRK_OpenWindow( struct NewWindow *newWindow ),
  83.           *TRK_OpenWindowTagList(struct NewWindow *newWindow,
  84.                      struct TagItem *tagList),
  85.           *TRK_OpenWindowTags(struct NewWindow *newWindow, Tag tag1, ...);
  86.           *TRK_OpenWdOnPubScreen(struct NewWindow *newWindow,
  87.                      UBYTE *pubscreen),
  88.           *TRK_OpenWdOnPSTagList(struct NewWindow *newWindow,
  89.                      UBYTE *pubscreen,
  90.                      struct TagItem *tagList),
  91.           *TRK_OpenWdOnPSTags(struct NewWindow *newWindow,
  92.                   UBYTE *pubscreen, Tag tag1, ...);
  93. void TRK_CloseWindow( struct Window *window );
  94. struct Screen *TRK_OpenScreen( struct NewScreen *newScreen );
  95. struct Screen *TRK_OpenScreenTagList( struct NewScreen *newScreen,
  96.                       struct TagItem *tagList ),
  97.           *TRK_OpenScreenTags(struct NewScreen *newScreen, Tag tag1, ...);
  98. BOOL TRK_CloseScreen( struct Screen *screen );
  99. BOOL TRK_SetMenuStrip( struct Window *window, struct Menu *menu );
  100. void TRK_ClearMenuStrip( struct Window *window );
  101. BOOL TRK_ResetMenuStrip( struct Window *window, struct Menu *menu );
  102. BOOL TRK_Request( struct Requester *requester, struct Window *window );
  103. void TRK_EndRequest( struct Requester *requester );
  104. BOOL TRK_SetDMRequest( struct Window *window, struct Requester *requester );
  105. BOOL TRK_ClearDMRequest( struct Window *window );
  106. struct Window *TRK_BuildSysRequest( struct Window *window,
  107.         struct IntuiText *body, *posText, *negText,
  108.         ULONG flags, width, height );
  109. void TRK_FreeSysRequest( struct Window *window );
  110. struct Preferences *TRK_GetPrefs(long size), *TRK_GetDefPrefs(long size),
  111.            *TRK_SetPrefs( struct Preferences *preferences,
  112.                   long inform, BOOL freeflag );
  113. void TRK_FreePrefs( struct Preferences *prefs );
  114. struct Screen *TRK_LockPubScreen( UBYTE *name );
  115. void TRK_UnlockPubScreen( struct Screen *screen );
  116. struct DrawInfo *TRK_GetScreenDrawInfo( struct Screen *screen ),
  117.         *TRK_GetScDIPubScreen( UBYTE *psname );
  118. void TRK_FreeScreenDrawInfo( struct DrawInfo *drawInfo );
  119.  
  120. void TRK_AddIntServer(long intNumber, struct Interrupt *interrupt);
  121. void TRK_RemIntServer(struct Interrupt *interrupt);
  122.  
  123. APTR TRK_AllocAslRequest(ULONG type, struct TagItem *ptags),
  124.      TRK_AllocAslRequestTags(ULONG type, Tag tag1, ...);
  125. void TRK_FreeAslRequest(APTR request);
  126. struct FileRequester *TRK_AllocFileRequest(void);
  127. #define TRK_FreeFileRequest TRK_FreeAslRequest
  128. APTR TRK_AslRequest(ULONG type, struct TagItem *ptags),
  129.      TRK_AslRequestTags(ULONG type, Tag tag1, ...);
  130. #define TRK_FreeRequest TRK_FreeAslRequest
  131.  
  132. struct RDArgs *TRK_ReadArgs(UBYTE *template, LONG *array, struct RDArgs *args);
  133. void TRK_FreeArgs(struct RDArgs *args);
  134.  
  135. APTR TRK_GetVisualInfoA(struct Screen *screen, struct TagItem *taglist),
  136.      TRK_GetVisualInfo(struct Screen *screen, Tag tag1, ...),
  137.      TRK_GetVIPubScreenA(UBYTE *name, struct TagItem *taglist),
  138.      TRK_GetVIPubScreen(UBYTE *name, Tag tag1, ...);
  139. void TRK_FreeVisualInfo(APTR vi);
  140. struct Gadget *TRK_CreateContext(struct Gadget **glistptr);
  141. void TRK_FreeGadgets(struct Gadget **gad);
  142. struct Menu *TRK_CreateMenusA(struct NewMenu *newmenu, struct TagItem *taglist),
  143.         *TRK_CreateMenus(struct NewMenu *newmenu, Tag tag1, ...);
  144. void TRK_FreeMenus(struct Menu *menu);
  145.  
  146. UWORD SetTrackingLevel(UWORD newlevel), GetTrackingLevel(void),
  147.       PushTrackingLevel(void), PopTrackingLevel(void),
  148.       PopTrackingLevels(void), DecTrackingLevel(void),
  149.       NewTrackingLevel(void), HighestTrackingLevel(void);
  150. void FreeTrackingLevel(UWORD level), FreeTrackingLevels(UWORD minlevel),
  151.      FreeCurrentTrackingLevel(void), FreeUpperTrackingLevels(void);
  152.  
  153. struct IFFHandle *TRK_AllocIFF(void),
  154.     *TRK_CreateIFFasDOS(LONG rwMode, UBYTE *filename, long accessMode),
  155.     *TRK_CreateIFFasClip(LONG rwMode, LONG unit);
  156. void TRK_FreeIFF(struct IFFHandle *iff),
  157.      TRK_DeleteDOSIFF(struct IFFHandle *iff),
  158.      TRK_DeleteClipIFF(struct IFFHandle *iff);
  159. LONG TRK_OpenIFF(struct IFFHandle *iff, LONG rwMode);
  160. void TRK_CloseIFF(struct IFFHandle *iff);
  161. LONG TRK_PushChunk(struct IFFHandle *iff, LONG type, LONG id, LONG size),
  162.      TRK_PopChunk(struct IFFHandle *iff);
  163. struct ClipboardHandle *TRK_OpenClipboard(LONG unitNum);
  164. void TRK_CloseClipboard(struct ClipboardHandle *clipboard);
  165. struct LocalContextItem *TRK_AllocLocalItem(LONG type, LONG id, LONG ident,
  166.                         LONG usize);
  167. void TRK_FreeLocalItem(struct LocalContextItem *localItem);
  168.  
  169. struct IORequest *TRK_GetDevice(UBYTE *devName, ULONG unit, ULONG flags,
  170.                 UWORD size);
  171.  
  172. struct DiskObject *TRK_GetDiskObject(char *name),
  173.           *TRK_GetDefDiskObject(LONG type),
  174.           *TRK_GetDiskObjectNew(char *name);
  175. BOOL TRK_PutDiskObject(char *name, struct DiskObject *diskobj),
  176.      TRK_PutDefDiskObject(struct DiskObject *diskobj);
  177. void TRK_FreeDiskObject(struct DiskObject *diskobj);
  178.  
  179. /* Schlüsselnummern für die Standard-Libraries bei OpenStdLibrary: */
  180.  
  181. #define STDLIB_ASL          0
  182. #define STDLIB_COMMODITIES      4
  183. /* #define STDLIB_CX             8 diese library gibt's garnicht */
  184. #define STDLIB_DISKFONT      12
  185. #define STDLIB_DOS         16
  186. #define STDLIB_EXPANSION     20
  187. #define STDLIB_GADTOOLS      24
  188. #define STDLIB_GRAPHICS      28
  189. #define STDLIB_ICON         32
  190. #define STDLIB_IFFPARSE      36
  191. #define STDLIB_INFO         40
  192. #define STDLIB_INTUITION     44
  193. #define STDLIB_KEYMAP         48
  194. #define STDLIB_LAYERS         52
  195. #define STDLIB_MATHFFP         56
  196. #define STDLIB_MATHIEEEDOUBBAS     60
  197. #define STDLIB_MATHIEEEDOUBTRANS 64
  198. #define STDLIB_MATHIEEESINGBAS     68
  199. #define STDLIB_MATHIEEESINGTRANS 72
  200. #define STDLIB_MATHTRANS     76
  201. #define STDLIB_REXXSUPPORT     80
  202. #define STDLIB_REXXSYSLIB     84
  203. #define STDLIB_TRANSLATOR     88
  204. #define STDLIB_UTILITY         92
  205. #define STDLIB_VERSION         96
  206. #define STDLIB_WORKBENCH    100
  207. #define STDLIB_ARP        104
  208. #define STDLIB_REQ        108
  209. #define STDLIB_REQTOOLS     112
  210.  
  211. /* Kennung für TrackerLib-Alerts: */
  212.  
  213. #define AN_TrackerLib 0x0C000000
  214. /* Ein Task will auf die Library zugreifen, obwohl er sie nicht geöffnet
  215.    hat:                                  */
  216. #define AN_Tracker_illegal_Task (AT_DeadEnd|AN_TrackerLib|0x01)
  217. /* Etwas soll freigegeben werden, ist aber garnicht registriert: */
  218. #define AN_Tracker_double_free    (AT_DeadEnd|AN_TrackerLib|0x02)
  219. /* Etwas von unbekanntem Typ soll freigegeben werden: */
  220. #define AN_Tracker_illegal_Type (AT_DeadEnd|AN_TrackerLib|0x03)
  221. /* Unterlauf des TrackingLevels (in DecTrackingLevel): */
  222. #define AN_Tracker_Level_underflow (AN_TrackerLib|0x04)
  223. /* Überlauf des TrackingLevels (in PushTrackingLevel): */
  224. #define AN_Tracker_Level_overflow (AN_TrackerLib|0x05)
  225. /* Kein freier TrackingLevel gefunden (in NewTrackingLevel): */
  226. #define AN_Tracker_Levels_full    (AN_TrackerLib|0x06)
  227.  
  228. #endif
  229.